export interface CakeVO {
  /**
   * 主键
   */
  id: string | number;

  /**
   * 蛋糕名称
   */
  cakeKnife: string;

  /**
   * 更新时间
   */
  updateTime: string;

  /**
   * 更新者名字
   */
  updateByName: string;
  cakeCompositionBos: cakeCompositionBos[];
  compositionVos: any[];
  cakeMaterialParentOrder?: string;
  cakeTypeId?: string;
}

export interface domain {
  label?: string;
  id?: string;
  key?: string[];
  options?: material[];
}
export interface cakeCompositionBos {
  cakeId?: string | number;
  cakeMaterialId?: string;
  parentCakeId?: string;
  isDefault?: true | false;
  cakeImagesId?: string | number;
  id?: string;
}

export interface CakeForm extends BaseEntity {
  /**
   * 主键
   */
  id?: string | number;

  /**
   * 蛋糕名称
   */
  cakeKnife?: string;
  /**
   * 蛋糕哪些大类决定整体图片
   */
  cakeCompositionIds?: string;
  /**
   * cakeCompositionBos
   */
  cakeCompositionBos?: cakeCompositionBos[];
  /**
   * 蛋糕类型
   */
  cakeTypeId?: string;
  /**
   * 蛋糕材料顶级顺序
   */
  cakeMaterialParentOrder?: string;
  /**
   * 蛋糕整体图片,可传多个
   */
  cakeImagesIds?: string;

  /*
   * 必选的配件id
   */
  cakeMaterialMustId?: string;
}

export interface CakeQuery extends PageQuery {
  /**
   * 蛋糕名称
   */
  cakeKnife?: string;

  /**
   * 日期范围参数
   */
  params?: any;
}

export interface material {
  id: string;
  materialName: string;
  materialPrice: string;
  parentId?: number | string;
  materialSurplus: string;
  children: material[];
  topParentId: string;
}

/** 查询默认配置类型 */
export interface cakeDefaultConfigQuery {
  cakeId:string|number;
  cakeDefaultType:string|number;
}

/**配置默认配置类型 */
export interface CakeConfigType{
  cakeId?: string | number;
  cakeDefaultType?: string | number;
  cakeCompositionDefaultBos?: cakeCompositionBos[];
}

/** 配置对话框展示 */
export interface CakeConfigDialog {
  cakeKnife?: string | number;
  cakeConfig:CakeConfigType
}